package com.hp.consumer.config;

import com.alibaba.cloud.sentinel.annotation.SentinelRestTemplate;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;

/**
 *
 * RestTemplate 支持 Sentinel
 *
 * @author xavierdong
 */
@Configuration
public class RestTemplateConfiguration {


    /**
     *
     * 重点！ 通过 @SentinelRestTemplate 注解，声明 Sentinel 对 RestTemplate 的支持。
     *
     * 另外，@SentinelRestTemplate 注解提供了 blockHandler、blockHandlerClass、fallback、fallbackClass 属性，作用和 @SentinelResource 注解是一致的
     *
     * @return
     */
    @Bean
    @SentinelRestTemplate
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }

}